#pragma once

class RenderPass;

namespace SL
{

class RenderGraph
{
    bool compile(bool serializeExecution = true);
    void execute();
    void addPass(const RenderPass&);

private:
    bool validate();
    void flatten();
    void calculateResourceLifeTime();

    bool compiled = false;
};

} // namespace SL
